The present invention relates to optical media, and more particularly to error correction in optical media data processing.
Data formats for optical drives and media are well known in the art. According to the standard of the industry, set forth in what is commonly referred to as the xe2x80x9cRed Bookxe2x80x9d, data for optical drives are in a 8 bit format, while the data stored on the optical media are in a 14 bit format. Thus, when data is to be written onto an optical media, it is first modulated from the 8 bit format to the 14 bit format. This modulation process is commonly referred to as xe2x80x9cEFMxe2x80x9d or Eight to Fourteen Modulation. Conversely, when data is retrieved from an optical media, it must first be demodulated from the 14 bit format to the 8 bit format before the data may be further processed.
Two conventional demodulation processes are provided by the Red Book. The first conventional process is to use an EFM conversion table. FIG. 1 illustrates the standard EFM conversion table. With this first process, the 14 bit data (C1-C14) is mapped into an 8 bit data (d1-d8) according to the EFM conversion table. However, errors may occur in the mapping. For example, since the 14 bit format provides more combinations of 1""s and 0""s than the 8 bit format, an error occurs when a 14 bit data does not have a corresponding 8 bit data in the EFM conversion table or when a wrong entry due to a violation of the run length (RLL) requirement. These errors may be found and corrected by the Error Correction Code (ECC). The ECC uses information encoded during the C1 and C2 encoding processes to find and correct errors. The C1 and C2 encoding processes are performed prior to the writing of the data onto the optical media. In the C1 encoding process, additional bytes are encoded containing information about the data. In the C2 encoding process, additional bytes are encoded into the C1 encoded data, and the frames of the C2 encoded data are interleaved with an appropriate time delay.
After the demodulation process, if one error only is found, then this error is correctable using during the C1 correction process. Mathematically, the C1 encoded data can only guarantee the correction of one error.
The second conventional process is to use a logic array to convert the data from the 14 bit format to the 8 bit format. FIG. 2A illustrates a conventional demodulator 250 with the logic array 252. Ci is the input data in the 14 bit format. Di is the output data in the 8 bit format. FIG. 2B shows the product term input bits and the corresponding active outputs for the logic array 252. This is process, all data is processed through the logic array 252. When there is an error, a xe2x80x9cbest guessxe2x80x9d value results from the logic array 252. However, there is no awareness that the error occurred. Thus, no further data correction can be implemented. This process also limits the integrity of the read data.
Accordingly, there exists a need for an improved method and system for error correction in optical media data processing. The improved method and system should be easy to implement and increase the integrity of the read data. The present invention addresses such a need.
The present invention provides a method and system for error correction in optical media data processing. The method includes demodulating a data using a conversion table; marking errors which occur during the demodulation; utilizing estimated values for the marked errors; and performing error correction. The method and system marks errors which occur during demodulation. A logic array is used to obtain estimated values for the marked errors. The marking of errors and the use of values from the logic array for the marked errors increases the probability of the C1 and C2 correction processes being able to correct the errors. Fewer xe2x80x9cnot correctablexe2x80x9d data results. This increases the integrity of the read data.